/*对网络请求axios做进一步的封装*/

// 1.导入
  import  axios from 'axios'


// 当然也可在这里实现请求拦截和响应拦截

// 2.将封装好的网络模块导出
  export  default function ajax(url = '',params = {}, type = 'GET') {// 设置参数默认值
    // 1.定义Promise对象
    let promise;
    return new Promise((resolve,reject)=>{
      // 2.判断请求方式
      if('GET' === type){
        let paramsStr = '';
        Object.keys(params).forEach(key=>{
          paramsStr += key + '=' + params[key] + '&'
        })
        // 过滤掉最后一个&
        if(paramsStr != ''){
          paramsStr =  paramsStr.substring(0,paramsStr.lastIndexOf('&'));
        }
        // 完整路径
        url+= '?'+paramsStr;
        // 发送get请求
        promise = axios.get(url);
      }else if('POST' === type){
        promise = axios.post(url,params)
      }
      return promise.then((res)=>{
        resolve(res.data);
      }).catch(err=>{
        reject(err);
      })
    })
  }
